#include "decrypt.h"

#define MAX_QUEUE_SIZE 128

typedef struct {
    WrappedData* data;
    int head;
    int tail;
    int size;
} MsgQueue;

void init_MsgQueue(MsgQueue* queue);
int empty_MsgQueue(const MsgQueue* queue);
int full_MsgQueue(const MsgQueue* queue);
void push_MsgQueue(MsgQueue* queue, const WrappedData* data);
WrappedData* head_MsgQueue(const MsgQueue* queue);
void pop_MsgQueue(MsgQueue* queue);
void destroy_MsgQueue(MsgQueue* queue);